Product recommendation using sentiment and semantic analysis

ABSTRACT

In an approach to determine a product rating a computer receives a user request for a product rating. The computer retrieves from on-line sources, product information on the product and analyzes the product information to determine a first product rating. The analysis includes at least a sentiment, and a trend of the sentiment. The approach includes a computer identifying products similar to the product and retrieving from on-line sources product information on similar products. A computer extracts comments on the product from the similar product information and determines an adjustment to the first product rating based on an analysis of the comments and references to the product in the similar product information. The adjustment to the first product rating includes using a sentiment, a trend of the sentiment over time, and a frequency of comments and references to the product over time in the retrieved plurality of similar product information.

BACKGROUND

The present invention relates generally to the field of product reviews,and more particularly to a method for creating a product rating that isadjusted for user sentiments and semantic analysis of other similarmarketplace offerings.

A wealth of data is available on any topic or product on-line. The easeof access to the Internet or other on-line resources at any time withmobile devices and other computing devices provides the user withgrowing amounts of information that can be accessed and researched.On-line shopping, in particular, has seen a huge increase in popularitydue, in part, to the ability of a user to do on-line comparison-shoppingwith ease and the simplicity of on-line ordering with direct homedelivery of products. On-line information available on a productincludes information such as product specifications, productcharacteristics, product ratings, product reviews, price comparisons,and product attributes such as performance or quality found in productrelated websites, retail websites, consumer websites, blogs, comments invarious social media, and other similar product information sources.Websites for stores may include built-in product comparisons or platformspecific analysis tools that a potential customer may utilize to providea comparison of features and capabilities for a number of similarproducts in a product category to find an optimum product for theirspecific needs.

Some websites and associated magazines exist solely to provide customerswith independent, unbiased product reviews and comparisons on productsfrom cars, to computers, and washing machines. Additionally, a wealth ofproduct or hobby specific trade journals, magazines, websites, and blogsfor topics from computers and gaming to photography and woodworkingexist. The internet provides numerous sources of information for productinformation, product ratings, reviews, and customer comments onvirtually any product.

SUMMARY

Embodiments of the present invention provide a method, a computerprogram product, and a computer system to determine one or more productratings. The computer program product includes receiving a user requestfor a product rating for a product. In response, the computer programproduct includes retrieving from a plurality of on-line sources, a firstplurality of product information on the product and determining, a firstproduct rating, based, at least in part, on an analysis of the firstplurality of product information. The analysis of the first plurality ofproduct information includes at least, a sentiment, a trend of thesentiment over time, and a frequency of a plurality of comments andreferences to the product over time. Additionally, the computer programproduct includes identifying one or more similar products to the productand retrieving from the plurality of on-line sources a second pluralityof product information for the one or more similar products. Thecomputer program product includes extracting a plurality of comments andreferences to the product in the retrieved plurality of similar productinformation and determining an adjustment to the first product ratingbased on the plurality of comments and references to the product in theretrieved second plurality of product information. The determination ofan adjustment to the first product rating includes at least determininga sentiment, a trend of the sentiment over time, and a frequency of theplurality of comments and references to the product over time in theretrieved plurality of similar product information.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating a distributed dataprocessing environment, in accordance with an embodiment of the presentinvention;

FIG. 2 is a flowchart depicting operational steps of a recommendationprogram, on a server within the data processing environment of FIG. 1,for providing a product rating, in accordance with an embodiment of thepresent invention;

FIG. 3 is an example of a graph depicting an initial product rating andan effect of introduction of a similar product creating an adjustedproduct rating, based on operation of the recommendation program of FIG.2, in accordance with an embodiment of the present invention; and

FIG. 4 is a block diagram of components of the server executing therecommendation program, in accordance with an embodiment of the presentinvention.

DETAILED DESCRIPTION

Embodiments of the present invention use sentiment analysis and semanticanalysis of product information retrieved from on-line sources includingcomments in social media sites, blogs, websites, product ratings, andreviews to provide an initial product rating for a product. The initialproduct rating takes into account changes or trends in sentiment overtime and the effect of newly introduced products on the frequency ofproduct reviews, product ratings, and comments on the existing product.In addition, embodiments of the present invention identify similarproducts and retrieve product information on the identified similarproducts. Embodiments of the present invention extract comments andreferences to the initially rated product from the product informationon the identified similar product and perform sentiment and semanticanalysis on the comments and references extracted from the search onsimilar products. Based on the sentiment and semantic analysis of thecomments and references to the product from the similar productinformation, an adjustment to the initial product rating is determined.Embodiments of the present invention determine the rating adjustmentbased on sentiment and semantic analysis of comments and references tothe product extracted from the similar product information.Additionally, the rating adjustment incorporates the frequency and trendof sentiments determined from the comments and references to the productfrom product information on similar products. The adjusted productrating is used to determine one or more recommended products or isprovided to the user in response to a request for a product rating on aspecified product.

The present invention will now be described in detail with reference tothe Figures. FIG. 1 is a functional block diagram illustrating adistributed data processing environment, generally designated 100, inaccordance with one embodiment of the present invention.

Distributed data processing environment 100 includes server 120,computer 130, database 140, websites 151A-N, and social media sites160A-160N, all interconnected over network 110. Network 110 can be, forexample, a telecommunications network, a local area network (LAN), avirtual LAN (VLAN), a wide area network (WAN), such as the Internet, ora combination of these, and can include wired, wireless, virtual, orfiber optic connections. Network 110 can include one or more wiredand/or wireless networks that are capable of receiving and transmittingdata, voice, and/or video signals, including multimedia signals thatinclude voice, data, and video information. In general, network 110 canbe any combination of connections and protocols that will supportcommunications between server 120, computer 130, database 140, websites151A-N, social media sites 160A-N, and other computing devices (notshown) within distributed data processing environment 100. In variousembodiments, network 110 is a global system of interconnected computernetworks that use the Internet protocol suite (TCP/IP) such as theInternet.

Server 120 can be a web server, a management server, a standalonecomputing device, a database server, a mobile computing device, a laptopcomputer, a desktop computer, or any other electronic device orcomputing system capable of receiving, sending, storing, and processingdata. In various embodiments, server 120 represents a computing systemutilizing clustered computers and components (e.g., database servercomputers, application server computers, etc.) that act as a single poolof seamless resources, such as in a cloud computing environment, whenaccessed within distributed data processing environment 100. In variousembodiments, each of the programs, applications, and databases on server120 and computer 130 can reside on various other computing devices withdistributed data processing environment 100, provided each has access toinformation and storage for implementation and operations of the presentinvention via network 110.

Server 120 hosts recommendation program 122 and content retrievingmodule 124. Server 120 may be a web server, a laptop computer, a tabletcomputer, a netbook computer, a personal computer (PC), a desktopcomputer, a personal digital assistant (PDA), a smart phone, or anyprogrammable electronic device capable of communicating with computer130, database 140, websites 151A-N, social media sites 160A-N, and anyother computing components and devices not shown in FIG. 1 indistributed data processing environment 100. Server 120 is capable ofaccessing the Internet to retrieve product information and data fromvarious websites or social media sites and service providers. Servercomputer 120 may include internal and external hardware components, asdepicted and described in further detail with respect to FIG. 4.

Recommendation program 122 includes content retrieving module 124.Recommendation program 122 generates a product rating that may be usedas a product recommendation. Recommendation program 122 receives from auser a request for a product rating. In an embodiment, a user on userinterface 133 on computer 130 may input information on the product suchas product name, part number, product version or release (e.g., Version10 or release 2×), and/or product attributes and may identify similarproducts that can be sent to recommendation program 122. Recommendationprogram 122 provides a product rating for one or more user-specifiedproducts that are adjusted to reflect a real-time product environmentusing a multidimensional approach for the evaluation and analysis of theproduct rating. The products analyzed by recommendation program 122 maybe a physical product such as a car, a type of product (e.g., sportsutility vehicles (SUVs)), a software product such as an operatingsystem, an article such as “New diabetes treatments”, a multimediaproduct such as a video on how to install ultra-high-speed systems, anda service such as personal trainers or a gym for example.

Recommendation program 122 sends information of the user specifiedproduct or products to content retrieving module 124. Content retrievingmodule 124 using known methods retrieves product reviews, productratings, articles, and comments on a product of interest from on-linesources such as websites, social media sites such as social networks,blogs, and other similar sources such as company or enterprise on-lineresources (i.e., when approved for access). Recommendation program 122receives the retrieved product information from content retrievingmodule 124.

Recommendation program 122 analyzes the retrieved comments, reviews,ratings, and articles retrieved on the using natural language processing(NLP), sentiment and semantic analysis to determine the level ofsatisfaction or dissatisfaction with a product in addition to retrievingand comparing product characteristics to determine an initial productrating. Semantic analysis is a known method of building structures thatapproximate concepts from a large set of documents in machine learningused in NLP for data interpretation in knowledge-based learning. Usingsentiment and semantic analysis, recommendation program 122 determinesthe acceptance or perception (e.g., positive or negative) of the initialproduct from the references extracted from data on similar products.Recommendation program 122 tracks the trend of the sentiment on theproduct. Recommendation program 122 tracks the frequency of comments,articles, ratings, and reviews of the product.

In various embodiments, recommendation program 122 performs anormalization of various ratings or reviews that may be provided bycontent retrieving module 124 in various forms or formats (e.g., fivestars, thumbs up, 6 of 10, or a “like”). Recommendation program 122 isconfigured to apply a normalization that equates different ratingssystems to provide a relative normalized rating (e.g., five stars ratingis equivalent to 9 or 10 out of 10 rating and is equivalent to a verysatisfied sentiment). In some embodiments, the normalized ratingincludes the number of the frequency of rating (e.g., many positiveratings have a higher normalized rating than a few positive ratings).

Recommendation program 122 determines an initial product rating whichmay include information on the time of the last reviews, ratings, orcomments on the product. The initial product rating determined byrecommendation program 122 incorporates the real-time sentiment, thetrend of the sentiment and includes the effect of an introduction ofsimilar products on the frequency of comments, articles, ratings, andreviews of the article in the initial product rating (e.g., a reductionin the frequency of comments and reviews of a product with a trend ofdecreasing sentiment when a product or products are introduced to themarket decreases the initial product rating). In various embodiments,the initial rating may be a normalized rating determined byrecommendation program 122. Recommendation program 122 sends the initialproduct rating with a time stamp indicating a date of creation todatabase 140. In one embodiment when no similar products are identified,the initial product recommendation is provided as the product rating andused for determining the product recommendation.

Recommendation program 122 recommendation program 122 analyzes theretrieved product information to characterize the product and determinesimilar products. Product recommendation program 122 determines productcategorization, product characterization, product attributes, andidentifies similar products using one or more known methods such asextracting information from embedded metadata, tags, using NLP, deeplinguistic processing, or other known information extraction techniquesto collect data used to classify and characterize the product to berated. As is known to one skilled in the art, deep linguistic processingis a natural language processing framework that uses theoretical anddescriptive linguistics. Deep linguistic processing provides aknowledge-rich analysis through manually developed grammars and languageresources capturing long distance dependencies and underlyingpredicate-argument structures. Using a number of known techniques,recommendation program 122 identifies products that are similar to theproduct being rated.

Recommendation program 122 develops an understanding of the productwhich may be a digital single-lens reflex (DSLR) camera, productattributes (e.g., 12× optical zoom), a product classification (e.g., acamera), and a product characterization (e.g., a super zoom digitalcamera). Recommendation program 122 identifies similar products that maybe determined by the program using one or more methods applied byrecommendation program 122.

Recommendation program 122 sends the identified similar products tocontent retrieving module 124. In response, content retrieving module124 searches on the on-line sources such as websites 151A-N, socialmedia sites 160A-N to retrieve product information on the identifiedsimilar products. Content retrieving module 124 sends the retrievedproduct information on the similar products to recommendation program122.

Recommendation program 122 adjusts a product's initial product ratingbased on the analysis of the comments and references to the productextracted from retrieved product information and comments on identifiedsimilar products. The adjustment of the initial product rating is basedon a multi-dimensional approach using a range of factors. The adjustmentof the initial, normalized product rating is determined by the sentimentof the extracted comments and references on the product from articles,reviews, and ratings on identified similar products and may incorporatethe timing and frequency of the extracted comments and referencesanalyzed for the rating adjustment. Recommendation program 122 tracksthe frequency of comments, articles, ratings, and reviews of the productwith respect to products recently introduced or similar productsrecently introduced and incorporates the frequency of references to theproduct and trend of the sentiment in the comments ad references to theproduct extracted from the similar product information. Recommendationprogram 122 sends the adjusted product ratings to the requesting user oncomputer 130 and to a database 140 for storage.

Content retrieving module 124 in recommendation program 122 receives arequest from recommendation program 122 to perform an on-line search forproduct information on one or more products. Content retrieving module124 retrieves information on the product or products identified byrecommendation program 122 from on-line sources and the Internet. Forexample, content retrieving module 124 may search and retrieveinformation from websites such as websites 151A-N, and social mediasites 160A-N, which may be social networking sites or services, blogs,business networks, forums, products/services review, social gaming,video/photograph sharing, company databases, and other on-line sources.For example, websites 151A-N include but, are not limited to productcompany websites, retail websites for chain stores or big box stores,magazine websites for specific products or for independent productevaluations.

Content retrieving module 124 extracts information on date of creationfor retrieved ratings, reviews, and comments that may be included as atime stamp in the retrieved data. Similarly, content retrieving module124 may extract or retrieve information on product release dates thatmay be embedded as metadata in the retrieved information. Contentretrieving module 124 sends the retrieved product information or data todatabase 140 for storage. In other embodiments, content retrievingmodule 124 is a standalone program or search engine, which may reside onone or more computers.

While depicted on server 120, recommendation program 122 may reside onanother server, another computing device, or other multiple computingdevices. In another embodiment, the code and routines of contentretrieving module 124 are integrated into recommendation program 122.

In various embodiments, computer 130 is a client to server 120. Computer130 includes user interface (UI) 133. Computer 130 may be a notebook, alaptop, a personal digital assistant, a tablet, a smart phone, wearablecomputing device, or other computing system connected to server 120 vianetwork 110. Computer 130 sends and receives data and information suchas requests input by a user on UI 133 for a product recommendation orrating, product ratings and queries to and from recommendation program122 on server 120 via network 110. Computer 130 may send and receivedata from other computing devices (not shown). While computer 130 isdepicted as a single client device, multiple computing devices or clientdevices may communicate and exchange data with recommendation program122 via network 110. UI 133 on computer 130 is a user interfaceproviding an interface between a user of computer 130 and server 120,and enables a user of computer 130 to interact with programs and data onserver 120, computer 130, and other computing devices (not shown). UI133 may be a graphical user interface (GUI), an active area or line fortext inputs, a web user interface (WUI), or other type of user interfaceand can display product ratings, text, documents, user options,application interfaces, and instructions for operation such as requestsfor product ratings or queries, and include the information that aprogram presents to a user. In an embodiment, UI 133 receives a userinput via a touch screen, a key board, a mouse, a display, an audio,visual or motion sensing device or other peripheral device standard incomputer devices. UI 133 may be used to by a user to generate a requestfor a product rating or a query and to display to the user the resultsof the product rating that may be used as a product recommendation.

Database 140 is depicted as a standalone database, however in otherembodiments database 140 may reside on server 120. In some embodiments,database 140 may be included on one or more other computing devices(e.g., a cloud), or may be included in one or more databases. Database140 stores the results of searches by content retrieving module 124, thedetermined sentiments, initial product ratings and adjusted productratings sent and retrieved by recommendation program 122. and otherinformation from server 120 or computer 130. Database 140 may reside onone or more computing devices. In an embodiment, database 140 resides onserver 120. Database 140 is accessible to computer 130 and server 120over network 110.

FIG. 2 is a flowchart 200 depicting operational steps of recommendationprogram 122, on server 120 within the data processing environment ofFIG. 1, for providing a product rating, in accordance with an embodimentof the present invention. Recommendation program 122 receives a userrequest for a product rating (202) from computer 130. In someembodiments, recommendation program 122 receives a request for more thanone product rating. Using UI 133, a user inputs a request sent vianetwork 110 for a product rating from recommendation program 122 onserver 120. Recommendation program 122 receives the request to initiatea product rating, which will be adjusted by recommendation program 122to reflect the most recent comments and data on the product fromratings, reviews, and comments on similar products. In variousembodiments, the request to initiate a product rating includes one ormore of the following types of information from the user: a productname, a product level or version (e.g., version 10 of a computeroperating system), a product attribute (e.g., a 50× zoom for a digitalcamera), a product type (e.g., a high speed digital camera), similarproducts of interest, and a product classification (e.g., a sports car).

Upon receiving a request to initiate a product rating for the identifiedproduct, recommendation program 122 using content retrieving module 124searches for product ratings, recommendations, product reviews, andcomments on the product (204). Recommendation program 122 sends the oneor more specified products to content retrieving module 124. Contentretrieving module 124 searches websites 151A-N and social media sites160A-N (e.g., Facebook®, Twitter®, etc.) to locate and retrieveinformation such as product reviews, product ratings, articles relatingto the product, and comments on the product. In some embodiments,content retrieving module 124 searches an enterprise, an organizationspecific database or on-line resource (e.g., Audubon Society), or acompany specific (e.g., company XYZ) database, company collaborationsites, company specific social sites or other company specific onlineresources to retrieve information on a product (e.g., an internaltraining video on investigation procedures). Content retrieving module124 uses known systems, tools, or applications such as search engines,browsers, web crawlers, data mining systems, web scraping, or otherinformation retrieval methods to locate and retrieve product informationincluding ratings, reviews, articles, and comments in blogs, websites,or from social media sites. Content retrieving module 124 retrievescomments and product information for the product using the date thecomment or information was created. In various embodiments,recommendation program 122 using content retrieving module 124timestamps retrieved product information with the date the data iscreated.

In addition, content retrieving module 124 sends a query to database 140to retrieve data on previous product ratings performed by recommendationprogram 122, and may receive from database 140 any previous productrating created by recommendation program 122. In various embodiments,the operations of content retrieving module 124 may be performed byrecommendation program 122. In some embodiments, recommendation program122 uses the retrieved ratings as the initial product rating foradjustment. In one embodiment, recommendation program 122 is configuredfor a user to select a period of time over which the retrieved productratings to be used as an initial or normalized product rating. Forexample, a user may select from a pop-up menu or icon a timeframe suchas 90 days and recommendation program 122 is configured to accept or useany rating generated by recommendation program 122 in the last ninetydays as the normalized product rating. If the retrieved product ratingis less than 90 days old, recommendation program 122 uses the retrievedproduct rating as the initial, normalized product rating for theproduct. Content retrieving module 124 sends the retrieved productinformation to recommendation program 122 and a database such asdatabase 140.

Recommendation program 122 upon receiving the product information,characterizes product information on the product to determine similarproducts (206). A similar product may be a product with one or more of asimilar classification (e.g., sports car), one or more similarattributes (e.g., 350 horsepower engine), and one or more similarproduct characteristics (e.g., 0-60 mph acceleration in 6.4 seconds, aproduct version (e.g., 2015 model)). Using a number of techniques,recommendation program 122 identifies products that are similar to theproduct being rated. For example, a user requests a rating for smartphone 1× and upon analyzing the retrieved product information,recommendation program 122 determines that a similar product may haveattributes such as 12 megapixels for pictures and 4K video capability.

Recommendation program 122 analyzes the retrieved product informationthat includes discussions, ratings, reviews, and product specificationsfrom the Internet (e.g., websites, social media sites or services) andother on-line sources such as enterprise, government, or companydatabases or resources to determine product information and similarproducts. Recommendation program 122 uses one or more of the followingtechniques: embedded metadata, tagging, NLP, deep linguistic processing,machine learning algorithms, and the information retrieved by contentretrieving module 124 collects data used to classify and characterizethe product.

Recommendation program 122 extracts information on product attributes(e.g., product speed or capacity), product version or level, and productrelease or build date as available in the retrieved information fromcontent retrieving module 124. Recommendation program 122 determinesproduct characteristics, product classification, product attributes, andidentifies one or more similar products. In some embodiments,recommendation program 122 utilizes artificial intelligence (AI) anddeep neural networks for deep learning architectures used to determineproduct characteristics and identify similar products for one or more ofproduct classification, product characterization, product attributes,and to identify one or more similar products. As is known to one skilledin the art, a deep neural network is an artificial neural network withmultiple hidden layers of units between input and output layers, whichcan model complex non-linear relationships that may use object detectionand parsing for applications such as language modelling.

Recommendation program 122 compares the product attributes, productcharacteristics, and product type of the product to a plurality of otherproducts in the retrieved product information to determine the similarproducts. In some embodiments, recommendation program 122 sends productattributes, product characteristics, and product type to contentretrieving module 124 to retrieve information or similar products withthe same product attributes, product characteristics, and product type.In this case, content retrieving module 124 send the retrievedinformation or products to recommendation program 122. Recommendationprogram 122 then compares the retrieved information and products to theproduct of interest to determine if the products are similar products.Recommendation program 122 provides the one or more determined similarproducts to content retrieving module 124 and to database 140.

In various embodiments, when the user does not supply information on oneor more of the following: product characteristics, product name, productclassification, product level or version, product type, productattributes, or an identification of similar products, recommendationprogram 122 searches the retrieved product information for additionalproduct information not provided by the user. For example,recommendation program 122 may extract product information on technicalattributes from a visual media such as a photograph to be rated.Recommendation program 122 may extract from embedded metadatainformation including creation date, photographer, a subject, and acamera setting such as exposure or zoom. In another example,recommendation program 122 may extract product characteristics,attributes, product specifications, and other information on the productincluding various product levels from a database, a website, a blog, ora product review.

In some embodiments, recommendation program 122 uses platform specificanalysis tools or product comparison tables to determine similarproducts and to extract product characteristics and product attributes.For example, a retailer's website may include embedded tools,applications, or comparison tables on products that have product dataand identify similar products and similar product information (e.g.,similar product attributes, etc.) that can be accessed by recommendationprogram for product information characterization.

Recommendation program 122 sends product information and the identifiedsimilar products to database 140.

Recommendation program 122 performs an analysis on identified productinformation to determine an initial product rating (208). In variousembodiments, recommendation program 122 determines an initial productrating based on the sentiment and semantic analysis of the comments,articles, and reviews of the articles, a normalization of ratings, and aconsideration of the sentiment trend with the frequency of comments,reviews, and articles on the product. The product information retrievedis analyzed using sentiment analysis and semantic analysis, in additionto analyzing product characteristics, product attribute, and otherproduct information comparisons. Recommendation program 122 usessentiment analysis and semantic analysis to determine a level ofsatisfaction or dissatisfaction with the product based on articles,comments (e.g., for example in blogs or social media) and text inreviews and ratings. Sentiment analysis is a known method of identifyingand extracting subjective information using NLP, text analysis, andcomputational linguistics. In addition to sentiment analysis andsemantic analysis, recommendation program 122 may utilize knowledgebased learning, and software algorithms for AI to analyze productinformation. Recommendation program 122 records the sentiment with thetime of the product information from which the sentiment was determinedand sends the determined sentiment with the date of the productinformation from which it was determined to database 140.

In addition to using sentiment and semantic analysis, recommendationprogram 122 uses conventional product comparison techniques on theinformation extracted from the product ratings, product reviews, productspecifications, etc. on the identified similar products (e.g., acomparison of car mileage such as 20 miles per gallon to 35 miles pergallon in a product such as a car). For example, recommendation program122 compares product specifications for product characteristics, productattributes, product levels and/or product release dates from referencesextracted from articles, reviews, ratings, blogs, or other similarinformation sources on the product to analyze the product. In anotherexample, recommendation program 122 uses product comparison informationprovided by one or more platform specific analysis tools such asembedded product comparisons in a retail website.

In some embodiments, recommendation program 122 normalizes ratings forthe product retrieved from the product information provided by contentretrieving module 124. Recommendation program 122 extracts ratings(e.g., five stars, 4 of out 10, likes, thumbs up, or thumbs down) fromarticles, posts in social media or retail websites, embedded tools, orproduct reviews from the retrieved product information and combines theratings with results or sentiments determined in the sentiment andsemantic analysis to include in the determination of the initial productrating. For example, recommendation program 122 is pre-configured toequate a number of different known rating systems used to rate aproduct. Different rating systems may include but, are not limited to anumerical rating system (e.g., 6 out of 10, 70% satisfied), a starsystem (e.g., five out of five stars), a thumbs up system (e.g., thumbsup or down), a like system (e.g., like or dislike), and a sentimentanalysis (e.g., dissatisfied). For example, recommendation program 122may be configured to equate 5 out of 10 to a neutral sentiment and to a3 star rating out of a possible five star rating system, to equate afour star rating to a 8 out of 10 numerical rating to a very satisfiedsentiment rating, and to equate a like to a 7 out of 10 and a satisfiedsentiment, to equate a thumbs down is equivalent to a 1 out of five, andto a sentiment of dissatisfied and so on.

In various embodiments, recommendation program 122 incorporates thenormalized product ratings into the initial product rating using apercentage or weighing factor based on the type of rating system. Forexample, recommendation program 122 may be configured to determine aninitial product rating where 60% of the initial product rating is basedon the determined sentiment and 40% of the initial rating is based onthe other ratings from other rating systems (i.e., the numerical ratingsuch as 5 out of 10, the star ratings, the thumbs up, the likes, etc.)extracted from the product information and normalized by the program. Inan embodiment, the initial product rating is based on the sentiment andsemantic analysis. In other embodiments, recommendation program 122determines the initial product rating based on a change or a trend ofthe sentiment over the period of time. For example, an initial productrating based on the sentiment (e.g., a positive sentiment) may berevised slightly upward in response an upward or increasing positivesentiment trend based on a sentiment and semantic analysis of reviews,articles, and comments.

In one embodiment, recommendation program 122 provides an initialproduct rating based, at least in part, on a product life. For example,for a product with a short product introduction time such as six months(e.g., a new computer game), recommendation program 122 may beconfigured to use the product introduction time to collect ratings orcomments for a time period based on the product introduction time. Inanother embodiment, recommendation program 122 is configured to aproduct life. The product introduction time may be input by the user ordetermined by recommendation program 122. For example, if the productintroduction for a product is a short product introduction time such assix months, then the product rating may be based on product informationfrom the last six months (e.g., the product life) or from the last yeartwelve months (e.g., twice the product life) based on the programconfiguration (e.g., for one product introduction time or for twice theproduct introduction time).

In various embodiments, recommendation program 122 revises the initialproduct rating based, at least in part on the number or frequency ofarticles, reviews, comments, and references to the product.Recommendation program 122 may analyze the trend of the determinedsentiment over time and apply a revision to the initial product ratingto reflect a frequency of comments and references to the product overtime. For example, recommendation program 122 determines a reduction inthe number of comments or references to the product is occurring basedon analysis of the dates of comments, articles, reviews and ratings ofthe product and the product has a declining sentiment, and in response,recommendation program 122 revises the initial product rating downslightly. For example, if no comments or references to the product havebeen identified in the six months and the sentiment was declining in theprevious year, then recommendation program 122 may apply a five or tenpercent reduction in the determined initial product rating. Similarly,recommendation program 122 may uplift or add a five to ten percentincrease in the product's initial product rating when a product has anincreasing sentiment and is generating many comments, reviews, ratings,and articles.

The initial product rating includes a time stamp. The time stamp may beused to track the initial product rating as is changes over time. In anembodiment, a user specifies a period of time (e.g., 6 months) for datato be used in the initial product rating. In this example, only datathat was generated or posted about the product in the last 6 months isused in determining the initial product rating, where the period of timemay be selected by the user.

Recommendation program 122 using content retrieving module 124 performsa second search for product information on identified similar products(210). When recommendation program 122 determines the similarproduct(s), the program sends the identified similar products to contentretrieving module 124. Content retrieving module 124 retrieves productinformation on the identified similar products. Content retrievingmodule 124 locates and retrieves similar product information fromon-line sources such as the Internet (e.g., websites 151A-N, socialmedia sites 160A-N, blogs, etc.), enterprise, company or governmentdatabases product information, and other applicable on-line informationsources. The product information on the similar products may include butare not limited to similar product reviews, ratings, articles, productspecifications, and comments extracted from articles, reviews, websites,social media, blogs on the similar products. Content retrieving module124 provides the retrieved product information on the similar productsto recommendation program 122 and to database 140.

Recommendation program 122 analyzes the retrieved product information onthe similar products for comments and references to the product (212).Recommendation program 122 searches the retrieved similar productinformation using keyword search, NLP, deep linguistic processing,sentiment analysis, semantic analysis, and other known informationextraction (IE) methods to locate and retrieve ratings, comparisons, andcomments related to or including a reference to the product or productof interest (e.g., the user requested product for a product rating).Recommendation program 122 analyzes product information from the secondsearch data for information on the identified similar products.Recommendation program 122 extracts references, comments, comparisons ofproduct attributes and characteristics (e.g., data rate, memory size,quality, and/or reliability) for the product from the second searchdata. The extracted information such as comments and references to theproduct include a time stamp for date of creation (e.g., using embeddedtimestamp).

Recommendation program 122 performs a sentiment and semantic analysis onthe extracted comments and references to the product from the secondsearch data. Recommendation program 122 determine a level of usersatisfaction or dissatisfaction with the product (i.e., sentimentrelating to the product) based on the comments extracted from theratings, reviews, and comments on the identified similar products. Theanalysis of the comments and references on the product from the productinformation on the one or more similar products may be completed usingsentiment and semantic analysis, knowledge-based software algorithms,and AI. In some embodiments, recommendation program 122 determines thesentiment for the comments and references to the product in the secondsearch data over time and tracks the change in sentiment over time(e.g., using on the time stamp for the creation of the extractedcomments and references). In addition, recommendation program 122.records the number of analyzed comments and references over time.

Recommendation program 122 determines an adjustment to the initialproduct rating (214). In one embodiment, a user indicates or selects aperiod of time for an adjustment of the initial product rating. Forexample, the user may select from UI 133 an option to provide anadjustment for the product based on the search of similar productinformation created in the last month. In various embodiments,recommendation program 122 determines an adjustment to the initialproduct rating based on the sentiment and semantic analysis of thecomments and references to the product extracted from the second searchof similar product information that includes one or more of thefollowing: a determination of the real-time sentiment for the product,the trend of the sentiment for the product over time, and the frequencyand number of comments and references to the product in the similarproduct information over time.

Recommendation program 122 retrieves the initial product rating of theproduct (i.e., created in step 210) from database 140. Recommendationprogram 122 uses the analysis of the retrieved data of the references,reviews, articles, and comments on the similar products extracted fromthe second search (i.e., the search for product information on similarproducts) to determine an adjustment or an adjustment factor for theinitial product rating.

Recommendation program 122 analyzes the sentiment, the sentiment trend,and the number of product references and comments in the retrievedarticles, comments such as posts or tweets, websites, and blogs on theone or more similar products over time. In some embodiments,recommendation program 122 adjusts the initial product rating based, atleast in part, on the real-time sentiment. For example, a sentimentanalysis of comments extracted from the product information on similarproducts may indicate a high level of dissatisfaction with the productsquality as compared to similar products and in response, recommendationprogram 122 reduces the initial product rating. In another example, alarge number of positive comments are extracted from the similar productinformation and in response, recommendation program 122 increases theinitial product rating, for example by six to seven percent.

In other embodiments, recommendation program 122 determines a productrating adjustment based on the trend of the sentiment analysis ofcomments and the number of comments on the product over time extractedfrom the search of similar products. For example, a product with aslightly negative sentiment and a small decrease in sentiment and/orinitial product rating over time receives a significant number ofcomments extracted from the second search that result in a negativesentiment. In this case, recommendation program 122 may apply anadjustment to the initial product rating decreasing the initial productrating in response to the trends of the sentiment and semantic analysisof the second similar product information (e.g., the comments andreferences to the product extracted from the second search of similarproducts). For example, in this case, recommendation program 122 mayadjust or decrease the initial product rating by five percent.

Recommendation program 122 may determine that the initial productrating, created in step 210, may be lowered, raised, or stay the samedepending on the results of the analysis of the second search data(i.e., the search for references or comments on the product found in thesimilar product information). The adjustment factor may be any one of apercentage, a flat number scaled by the number of references or commentsanalyzed, or a change in a textual normalized rating (e.g., a reductionof a rating from excellent to very good).

Recommendation program 122 using recommendation program 122 maydetermine an adjustment factor based, at least in part, on the timing orthe date stamps of the analysis of the various references or comments onthe product identified in the second search of similar products. Theadjustment factor may take into account how recently the comments weremade on the product or the “freshness” of the comment. For example,recommendation program 122 may determine that a large number of negativecomments (e.g., a netbook, product Y retrieves data slowly, has poorresolution and image quality compared to a similar product X, a similarnetbook as determined by recommendation program 122) were identified andanalyzed by recommendation program 122 in the last nine months. However,no or very few new comments, articles, or reviews have been posted onproduct Y in the last two months. In this case, with few new comments,reviews, or ratings in the last two months, recommendation program 122determines the initial product rating is “stale” (i.e., not current)when analyzing the results of the second search and in response lowersthe initial product rating for product Y (e.g., decreases by five tofifteen percent).

In some embodiments, an adjustment factor to the initial product ratingmay be determined by recommendation program 122 based, at least in part,on the number references extracted for the extracted comments orreferences. For example, recommendation program 122 may increase theinitial product rating of a tennis racquet model by 1% if the number ofpositive comments on the tennis racquet in the second search data ofsimilar products are more than 50 and less than 100 and may increase thenormalized rating by 3% if the number of positive comments on the tennisracquet are more than 100 and, less than 200, and so on.

In an embodiment, recommendation program 122 determines the adjustmentto the initial product rating based, at least in part, on the number ofreferences to the product in the second search data. The period of timemay be one of pre-configured in recommendation program 122.Recommendation program 122 may be pre-configured or may be configured bya user input on UI 133 from a pull-menu, pop-up screen, or other userinput method as a timeframe or period of time period over which commentson the product are extracted from the second search data. For example, auser may provide a timeframe of six months using a pop-up screen in UI133 and, in response, recommendation program 122 uses only the resultsof the analysis of the product comments and references extracted fromthe second search data that are less than six months old.

Recommendation program 122 provides a product rating to the user (216)where the product rating is the adjusted product rating. Recommendationprogram 122 adjusts the initial, normalized product rating to anadjusted product rating based on an analysis of sentiments on theproduct extracted from product information on one or more similarproducts and sends the adjusted product rating to the user on computer130 via network 110.

In some embodiments, recommendation program 122 provides a productrating that may be used as a product recommendation based on theanalysis processes described above (i.e., the steps 202 through 216 inFIG. 2). For example, an employee of a company sends a request torecommendation program 122 using UI 133 for a company training video onan imaging recognition system. Recommendation program 122 usingrecommendation program 122 determines that the product classification isa video, the product characterization is a company training video, andthe attributes is the specified imaging recognition system. Contentretrieving module 124 searches company databases, websites, and anycompany social media or networking sites for company training videos onthe specified image recognition system and for ratings, reviews, andcomments associated with any identified training videos. In thisexample, recommendation program 122 using content retrieving module 124locates two training videos on the specified imaging recognition system.

In this example, recommendation program 122 provides a product rating,which in this case is the initial product rating for each of the twovideos. In this example, recommendation program 122 does not identifyany similar products, and therefore no second search or adjustment ofthe normalized ratings occurs. In one embodiment, recommendation program122 sends to the user the product and the product rating for the productwith the highest, best, or the rating indicating the highestsatisfaction level or sentiment from the analysis of the reviews,ratings, and comments on the two training videos. In this case, theproduct with the highest product rating would be the recommendedproduct. In another embodiment, recommendation program 122 provides theuser with all of the products analyzed in response to a query or userrequest in the order of highest to lowest satisfaction level. In thiscase, the products are analyzed according to the processes discussed insteps 202 to 216 in FIG. 2 (e.g., include adjusted ratings). In anembodiment, recommendation program 122 provides the user with aconfigured number of products ranked from highest to lowest based on theanalysis of the product information. For example, recommendation program122 may be configured to provide the five products with the highestlevel of satisfaction based on the analysis of the product informationand the adjusted rating using the results of the second search. The fiveproducts with the highest level of satisfaction are the recommendedproducts in this example.

FIG. 3 is an example of a graph 300 depicting an initial product ratingand the effect of a similar product introduction for an adjusted productrating, based on operation of recommendation program 122, in accordancewith an embodiment of the present invention. As depicted, FIG. 3includes an initial product rating shown as the solid lines for productsA, B, C, and D and the adjusted ratings depicted by the dashed lines forproducts A, B, C, and D. The initial product ratings and the adjustedproduct ratings are tracked over a 16 month period in FIG. 3. ProductsA, B, and D are introduced at time 0 and product C is introduced 4months later. Using the processes and methods discussed in detail inFIG. 2, an initial product rating is determined for each of theproducts. As depicted in FIG. 3, the initial and the adjusted productratings are depicted as normalized positive and negative ratings (forthe purposes of this example. The initial product rating increases inresponse to increasing number of positive comments, ratings, and reviewsas seen with products B and C (or, similarly decreases when no newratings, reviews, or comments are retrieved on the product or when anincreasing number of negative comments, rating, and reviews generatingnegative sentiment trend as seen with product D).

As depicted in FIG. 3, the initial product rating may be shown as afunction of time. The initial product ratings over time may be positiveas depicted with products A, B, and C that illustrate a rise in initialproduct rating. In the case of product A, the rapid rise is followed bya decline in normalized initial product ratings over time. In the caseof Product B, the normalized initial product ratings may increaserapidly or fairly rapidly and then, continue to increase but at a lowerrate over time. As in the case of Product D, the normalized initialproduct ratings may be negative and then, slightly decrease over time asno additional ratings, reviews, or comments are created and analyzed byrecommendation program 122.

With the introduction of product C, at time 4 months, where product C isidentified as a similar product to products A, B, and D. FIG. 3 depictsthe adjustment to the initial product ratings of products A, B, and D inresponse to the introduction of product C in the marketplace. Uponcompletion of a second search for articles, reviews, ratings, andcomments on product C (i.e., the similar product) at 12 months and ananalysis of comments and references relating to each of product A, B,and D, is performed by recommendation program 122. Recommendationprogram 122 determines an adjustment factor for the initial productratings for products A, B, and D (as discussed above with reference tosteps 210, 212, and 214) as a result of the analysis of the comments andreferences to products A, B, and D extracted from the productinformation retrieved on product C (i.e., a similar product). Theanalysis of the extracted comments and references to product A from thesecond search on product C results in a rating adjustment factor thatdecreases, or reduces the rating of product A over time. The commentsand comparisons analyzed using sentiment and semantic analysis indicatea less positive or a decrease in the level of satisfaction with productA with respect to the introduction of product C as time goes on and inresponse, recommendation program 122 decreases the initial productrating.

Product B, however, experiences a slight increase in level ofsatisfaction corresponding to the introduction of product C, as shown bythe adjusted rating in response to the comments and referencesidentified and analyzed as a result of the second search (i.e., thesearch for articles, reviews, ratings, and comments on Product C).Product D in response to the analysis of the second search of thesimilar product (i.e., product C), receives a lower level ofsatisfaction (or a higher level of dissatisfaction) when comments andreferences related to product D are extracted from product informationon product C. In this case, the normalized initial product rating ofproduct D is adjusted downward as shown in FIG. 3.

FIG. 4 depicts a block diagram 400 of components of server 120 inaccordance with an illustrative embodiment of the present invention. Itshould be appreciated that FIG. 4 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Manymodifications to the depicted environment may be made.

Server 120 includes communications fabric 402, which providescommunications between cache 414, memory 406, persistent storage 408,communications unit 410, and input/output (I/O) interface(s) 412.Communications fabric 402 can be implemented with any architecturedesigned for passing data and/or control information between processors(such as microprocessors, communications and network processors, etc.),system memory, peripheral devices, and any other hardware componentswithin a system. For example, communications fabric 402 can beimplemented with one or more buses or a crossbar switch.

Memory 406 and persistent storage 408 are computer readable storagemedia. In this embodiment, memory 406 includes random access memory(RAM). In general, memory 406 can include any suitable volatile ornon-volatile computer readable storage media. Cache 414 is a fast memorythat enhances the performance of computer processor(s) 404 by holdingrecently accessed data, and data near accessed data, from memory 406.

Recommendation program 122 and other software for operation of theinvention may be stored in persistent storage 408 and in memory 406 forexecution by one or more of the respective computer processors 404 viacache 414. In an embodiment, persistent storage 408 includes a magnetichard disk drive. Alternatively, or in addition to a magnetic hard diskdrive, persistent storage 408 can include a solid state hard drive, asemiconductor storage device, read-only memory (ROM), erasableprogrammable read-only memory (EPROM), flash memory, or any othercomputer readable storage media that is capable of storing programinstructions or digital information.

The media used by persistent storage 408 may also be removable. Forexample, a removable hard drive may be used for persistent storage 408.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is part of persistent storage 408.

Communications unit 410, in these examples, provides for communicationswith other data processing systems or devices. In these examples,communications unit 410 includes one or more network interface cards.Communications unit 410 may provide communications through the use ofeither or both physical and wireless communications links.Recommendation program 122 may be downloaded to persistent storage 408through communications unit 410.

I/O interface(s) 412 allows for input and output of data with otherdevices that may be connected to server 120. For example, I/O interface412 may provide a connection to external devices 416 such as a keyboard,keypad, a touch screen, and/or some other suitable input device.External devices 416 can also include portable computer readable storagemedia such as, for example, thumb drives, portable optical or magneticdisks, and memory cards. Software and data used to practice embodimentsof the present invention, e.g., recommendation program 122 can be storedon such portable computer readable storage media and can be loaded ontopersistent storage 408 via I/O interface(s) 412. I/O interface(s) 412also connect to a display 418.

Display 418 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers, and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application, or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

What is claimed is:
 1. A computer program product for providing one ormore product ratings, the computer program product comprising: one ormore computer readable storage devices, wherein the one or more computerreadable storage devices are not a transitory signal per se, and programinstructions stored on the one or more computer readable storagedevices, the stored program instructions comprising: programinstructions to receive a user request for a product rating for aproduct; program instructions to retrieve from a plurality of on-linesources, a first plurality of product information on the product; thefirst plurality of product information including ratings, reviews,articles, and comments in one or more of blogs, websites, and socialmedia sites; program instructions to determine a first product rating,based, at least in part, on an analysis of the first plurality ofproduct information, the analysis of the first plurality of productinformation including at least, a sentiment, a trend of a sentiment overtime, and a frequency of a plurality of comments and references to theproduct over time, and wherein determining the first product ratingincludes normalizing, by one or more computers, one or more productratings extracted from the plurality of product information, whereinnormalizing the one or more product ratings includes equating theratings from one or more rating systems; program instructions toidentify one or more similar products to the product, whereinidentifying the one or more similar products to the product comprises:program instructions to identify one or more of product attributes,product characteristics, and a product type of the first plurality ofproduct information, based on utilizing one or more of the followingtechniques: embedded metadata, tagging, natural language processing(NLP), deep linguistic processing, and software algorithms utilizingmachine learning; and program instructions to send at least one of theone or more product attributes, the product characteristics, and theproduct type to a content retrieving module to identify one or moresimilar products with the same of at least one of product attributes,product characteristics, and product type; program instructions toretrieve from the plurality of on-line sources a second plurality ofproduct information for the one or more similar products, the secondplurality of product information on the one or more similar productsincluding product reviews, ratings, articles, product specifications,and comments for the one or more similar products; program instructionsto extract a plurality of comments and references to the product in theretrieved second plurality of product information for the one or moresimilar products; program instructions to determine an adjustment to thefirst product rating based on the plurality of comments and referencesto the product in the retrieved second plurality of similar productinformation, wherein the determining includes determining at least oneof: a sentiment, a trend of a sentiment over time, and a frequency ofthe plurality of comments and references to the product over time, andadjusting the first product rating based, at least in part, on one ormore of: a number of the extracted plurality of comments and referencesto the product in the second plurality of product information on the oneor more similar products and a change of sentiment over a period oftime; program instructions to apply the adjustment to the first productrating to create a second product rating; program instructions to sendthe first product rating and the second product rating to the user,wherein the first product rating and the second product rating eachinclude a time stamp that is used to track the first product rating andthe second product rating as changing over time; and programinstructions to display the first product rating and the second productrating as a function of time.